package com.egg.common;

import java.util.List;
import java.util.Map;

/**
 * @项目名称：egg   
 * @类名称：ListToJsonUtil   
 * @类描述：List转换成json格式      
 * @创建人：wangchenyang
 * @创建时间：2012-9-5 上午11:56:07   
 * @修改人：
 * @修改时间：   
 * @修改备注：   
 * @version
 */
public class ListToJsonUtil {

	/**
	 * @Title: convertList2Json 
	 * @Description:list转换成json--标准形式 
	 * @param @param list
	 * @param @return    
	 * @return String   
	 * @throws
	 */
	public static String convertList2Json(List<Map<String,Object>> list){
		String tempStr="";
		if(list!=null&&list.size()!=0){
			StringBuffer sb=new StringBuffer();
			sb.append("[");
			for(int i=0;i<list.size();i++){
				Map<String,Object> map=list.get(i);
				String id= map.get("ID")==null?null:map.get("ID").toString();
				String pid=map.get("PID")==null?null:map.get("PID").toString();
				String name=map.get("MENU_NAME").toString();
				sb.append("{");
				sb.append("id:");
				sb.append(id);
				sb.append(",");
				sb.append("pId:");
				sb.append(pid);
				sb.append(",");
				sb.append("name:\"");
				sb.append(name);
				sb.append("\"");
				sb.append("},");
			}
			tempStr=sb.toString();
			if(tempStr.endsWith(",")){
				tempStr=tempStr.substring(0, tempStr.length()-1);
			}
			tempStr+="]";
		}
		return tempStr;
	}
	/**
	 * @Title: convertList2JsonUrl 
	 * @Description:list转换成json形式--带有url 
	 * @param @param list
	 * @param @return    
	 * @return String   
	 * @throws
	 */
	public static String convertList2JsonForUrl(List<Map<String,Object>> list){
		String tempStr="";
		if(list!=null&&list.size()!=0){
			StringBuffer sb=new StringBuffer();
			sb.append("[");
			for(int i=0;i<list.size();i++){
				Map<String,Object> map=list.get(i);
				String id=map.get("ID")==null?null:map.get("ID").toString();
				String pid=map.get("PID")==null?null:map.get("PID").toString();
				String name=map.get("MENU_NAME")==null?null:map.get("MENU_NAME").toString();
				String url=map.get("MENU_URL")==null?null:map.get("MENU_URL").toString();
				sb.append("{");
				sb.append("id:");
				sb.append(id);
				sb.append(",");
				sb.append("pId:");
				sb.append(pid);
				sb.append(",");
				sb.append("name:\"");
				sb.append(name);
				sb.append("\"");
				if(pid!=null&&!pid.equals("0")){
					sb.append(",url:\"");
					sb.append(url);
					sb.append("\"");
					sb.append(",\"target\":\"main\"");
				}
				sb.append("},");
			}
			tempStr=sb.toString();
			if(tempStr.endsWith(",")){
				tempStr=tempStr.substring(0, tempStr.length()-1);
			}
			tempStr+="]";
		}
		return tempStr;
	}
	/**
	 * @Title: convertList2JsonForCheckBox 
	 * @Description:list转换成json形式--带有复选框 
	 * @param @param menuList
	 * @param @param selectedList
	 * @param @return    
	 * @return String   
	 * @throws
	 */
	public static String convertList2JsonForCheckBox(List<Map<String,Object>> menuList,List<Map<String,Object>> selectedList){
		String tempStr="";
		if(menuList!=null&&menuList.size()!=0){
			StringBuffer sb=new StringBuffer();
			sb.append("[");
			for(int i=0;i<menuList.size();i++){
				Map<String,Object> map=menuList.get(i);
				String id= map.get("ID")==null?null:map.get("ID").toString();
				String pid=map.get("PID")==null?null:map.get("PID").toString();
				String name=map.get("MENU_NAME").toString();
				sb.append("{");
				sb.append("id:");
				sb.append(id);
				sb.append(",");
				sb.append("pId:");
				sb.append(pid);
				sb.append(",");
				sb.append("name:\"");
				sb.append(name);
				sb.append("\"");
				if(selectedList!=null&&selectedList.size()!=0){
					for(int j=0;j<selectedList.size();j++){
						Map<String,Object> selectedMap=selectedList.get(j);
						String selectedId=selectedMap.get("MENU_ID")==null?null:selectedMap.get("MENU_ID").toString();
						if(id.equals(selectedId)){
							sb.append(",checked:true, open:true");
						}
					}
				}
				sb.append("},");
			}
			tempStr=sb.toString();
			if(tempStr.endsWith(",")){
				tempStr=tempStr.substring(0, tempStr.length()-1);
			}
			tempStr+="]";
		}
		return tempStr;
	}
}
